SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TCAMAR_NCCL_Q01]
/*----------------------------------------------------------------*/
/*-- Empresa		: OFISIS S.A.				  */
/*-- Cliente		: OFISIS			  */
/*-- Sistema		: Tesoreria				  */
/*-- Programa		: Reporte Seguimiento Aplicaciones Pagos N/C  
			   a FACTURAS */
/*-- Script		: TDAMAR_NCCL_Q01		  	  */
/*-- Nombre		: SP_TCAMAR_NCCL_Q01	  	  	  */
/*-- Desarrollado	: Daniel Chiang			  	  */
/*-- Fecha		: 196/04/2000			 	  */
/*-- Base de Datos	: MS SQL Server 			  */
/*-- Versi©n		: 7.0					  */
/*----------------------------------------------------------------*/

/*----------------------------------------------------------------*/
/*-- Modificado por	 : 					  */
/*-- Fecha modificaci©n	 : 				 	  */
/*-- Detalle modificaci©n: 		n			  */
/*----------------------------------------------------------------*/
/* drop proc SP_TCAMAR_NCCL_Q01	 				  */
/* grant all on SP_TCAMAR_NCCL_Q01 to public			  */
/* SP_TCAMAR_NCCL_Q01 '01', '03200002', '03200002', '001', '02/07/2004' 	 	  */
/*----------------------------------------------------------------*/

 @ISCO_EMPR      TD_VC_002,
 @ISNU_AMAR_INIC TD_VC_008, 
 @ISNU_AMAR_FINA TD_VC_008,
 @ISCO_UNID_CONC TD_VC_003,
 @IDFE_AMAR      TD_DT_001
	As
Declare
 @CSCO_TIDO_ORIG   TD_VC_003,
 @CSNU_DOCU_ORIG   TD_VC_020,
 @CSCO_TIDO_DEST   TD_VC_003,
 @CSNU_DOCU_DEST   TD_VC_020,
 @CSNU_AMAR        TD_VC_008,
 @CDFE_AMAR	   TD_DT_001,
 @CSCO_MONE	   TD_VC_003,
 @CSCO_MONE_DOCU   TD_VC_003,
 @CNIM_COBR_ORIG   TD_NU_016_004,
 @CNIM_COBR_DEST   TD_NU_016_004,
 @CSCO_ENTI	   TD_VC_020,
 @VSNU_AMAR_AUXI   TD_VC_008,
 @VINU_SECU        TD_IN_001,
 @VSCO_MONE	   TD_VC_003,
 @VNFA_TIPO_CAMB   TD_NU_016_004,
 @VSCO_MONE_DEFA   TD_VC_003,
 @VSCO_MONE_EXTR   TD_VC_003,
 @VSCO_MONE_DOCU   TD_VC_003,
 @OSTI_DOCU_LETR   TD_VC_003

  Create Table #TWAMAR_NCCL
  ( NU_TRAN        Varchar(8) NULL, 
    NU_SECU        int  NULL,  
    FE_AMAR	   Datetime  NULL,
    CO_MONE	   VarChar(3)   NULL,	
    CO_TIDO_ORIG   VarChar(3)   NULL,
    NU_DOCU_ORIG   VarChar(20)   NULL,
    IM_COBR_ORIG   NUMERIC(16,4),
    CO_TIDO_DEST   VarChar(3)   NULL,
    NU_DOCU_DEST   VarChar(20)   NULL,
    IM_COBR_DEST   NUMERIC(16,4))

--Select @VINU_SECU = 0
-- El CU_TDAMAR_NCCL_Q01_1 posee un documento con su n-mero

EXEC SP_TTDOCU_CNTB_Q02 6, @OSTI_DOCU_LETR OUTPUT

Select @VSNU_AMAR_AUXI = '@@@@'

     Select @VSCO_MONE_DEFA = CO_MONE_DEFA,
     	    @VSCO_MONE_EXTR = CO_MONE_EXTR
     From   TMPARA_TESO
     Where  CO_EMPR = @ISCO_EMPR

Declare CU_TDAMAR_NCCL_Q01_1 cursor
For
Select T1.NU_AMAR, T2.FE_AMAR, T2.CO_MONE, T1.CO_ENTI, T1.CO_TIDO_ORIG, T1.NU_DOCU_ORIG, T1.IM_COBR_ORIG, T3.CO_MONE
From TDAMAR_NCCL T1, TCAMAR_NCCL T2, TMDOCU_CLIE T3
Where T1.CO_EMPR = @ISCO_EMPR 
And T1.CO_UNID_CONC = @ISCO_UNID_CONC
And T1.NU_AMAR >= @ISNU_AMAR_INIC 
And T1.NU_AMAR <= @ISNU_AMAR_FINA
And T1.FE_AMAR = @IDFE_AMAR
And T1.CO_EMPR = T2.CO_EMPR
And T1.NU_AMAR = T2.NU_AMAR
And T1.FE_AMAR = T2.FE_AMAR
And T1.CO_TIDO_ORIG IS NOT NULL
And T1.CO_ENTI = T3.CO_CLIE
And T1.CO_TIDO_ORIG = T3.CO_TIPO_DOCU
And T1.NU_DOCU_ORIG = T3.NU_DOCU_CLIE


Open CU_TDAMAR_NCCL_Q01_1
Fetch CU_TDAMAR_NCCL_Q01_1 into @CSNU_AMAR, @CDFE_AMAR, @CSCO_MONE, @CSCO_ENTI, @CSCO_TIDO_ORIG, @CSNU_DOCU_ORIG, 
@CNIM_COBR_ORIG, @CSCO_MONE_DOCU
While @@fetch_status = 0
  Begin
    If @@fetch_status != 0
       Begin
         Raiserror 20001 'Fin de archivo'
         Close CU_TDAMAR_NCCL_Q01_1
         Deallocate CU_TDAMAR_NCCL_Q01_1
         Return 
       end 

    If @CSNU_AMAR != @VSNU_AMAR_AUXI
       Begin
	Select @VSNU_AMAR_AUXI = @CSNU_AMAR
	Select @VINU_SECU = 0
       End 

    Select @VINU_SECU = @VINU_SECU + 1


    /*Select @VSCO_MONE = CO_MONE, @VNFA_TIPO_CAMB = FA_TIPO_CAMB
    From   TCAMAR_NCCL
    Where  CO_EMPR = @ISCO_EMPR 
    And    NU_AMAR = @CSNU_AMAR

    Select @VSCO_MONE_DOCU = CO_MONE
        From TMDOCU_CLIE
        Where CO_EMPR = @ISCO_EMPR 
        And   CO_CLIE = @CSCO_ENTI
        And   CO_TIPO_DOCU = @CSCO_TIDO_ORIG  
        And   NU_DOCU_CLIE = @CSNU_DOCU_ORIG
   
        If @VSCO_MONE != @VSCO_MONE_DOCU
           Begin
             If @VSCO_MONE_DOCU != @VSCO_MONE_DEFA
                Select @CNIM_COBR_ORIG = Round(@CNIM_COBR_ORIG * @VNFA_TIPO_CAMB,2)
	     Else
	        Select @CNIM_COBR_ORIG = Round(@CNIM_COBR_ORIG / @VNFA_TIPO_CAMB,2)
           End 
	*/
    
    Insert into #TWAMAR_NCCL (NU_TRAN, NU_SECU, FE_AMAR, CO_MONE, CO_TIDO_ORIG, NU_DOCU_ORIG, IM_COBR_ORIG)
    Values (@CSNU_AMAR, @VINU_SECU, @CDFE_AMAR, @CSCO_MONE, @CSCO_TIDO_ORIG, @CSNU_DOCU_ORIG, @CNIM_COBR_ORIG)

    Fetch CU_TDAMAR_NCCL_Q01_1 into @CSNU_AMAR, @CDFE_AMAR, @CSCO_MONE, @CSCO_ENTI, @CSCO_TIDO_ORIG, @CSNU_DOCU_ORIG, 
@CNIM_COBR_ORIG, @CSCO_MONE_DOCU
  End

Close CU_TDAMAR_NCCL_Q01_1
Deallocate CU_TDAMAR_NCCL_Q01_1

--Select * from #TWAMAR_NCCL
--Order by NU_TRAN, NU_SECU


Select @VINU_SECU = 0
Select @VSNU_AMAR_AUXI = '@@@@'

-- cursor obtiene todas las letras del documento por CLIEeedor
Declare CU_TDAMAR_NCCL_Q01_1 cursor
For
Select NU_AMAR, CO_TIDO_DEST, NU_DOCU_DEST, IM_COBR_DEST
From TDAMAR_NCCL
Where CO_EMPR = @ISCO_EMPR 
And CO_UNID_CONC = @ISCO_UNID_CONC
And NU_AMAR >= @ISNU_AMAR_INIC 
And NU_AMAR <= @ISNU_AMAR_FINA
And FE_AMAR = @IDFE_AMAR
And CO_TIDO_DEST IS NOT NULL 

Open CU_TDAMAR_NCCL_Q01_1
Fetch CU_TDAMAR_NCCL_Q01_1 into @CSNU_AMAR, @CSCO_TIDO_DEST, @CSNU_DOCU_DEST, @CNIM_COBR_DEST
While @@fetch_status = 0
  Begin
    If @@fetch_status != 0
       Begin
  Raiserror 20001 'Fin de archivo'
         Close CU_TDAMAR_NCCL_Q01_1
         Deallocate CU_TDAMAR_NCCL_Q01_1
         Return 
       end 

--    Select @CSNU_AMAR, @CSCO_TIDO_DEST, @CSNU_DOCU_DEST

    If @CSNU_AMAR != @VSNU_AMAR_AUXI
       Begin
	Select @VSNU_AMAR_AUXI = @CSNU_AMAR
	Select @VINU_SECU = 0
       End 

    Select @VINU_SECU = @VINU_SECU + 1

    If NOT Exists ( Select * From #TWAMAR_NCCL 
	Where NU_TRAN = @CSNU_AMAR
	And   NU_SECU = @VINU_SECU)
       Insert into #TWAMAR_NCCL (NU_TRAN, NU_SECU, CO_TIDO_DEST, NU_DOCU_DEST, IM_COBR_DEST)
       Values (@CSNU_AMAR, @VINU_SECU, @CSCO_TIDO_DEST, @CSNU_DOCU_DEST, @CNIM_COBR_DEST)
    Else 
       Update #TWAMAR_NCCL 
       Set CO_TIDO_DEST = @CSCO_TIDO_DEST, NU_DOCU_DEST = @CSNU_DOCU_DEST, IM_COBR_DEST = @CNIM_COBR_DEST
       Where NU_TRAN = @CSNU_AMAR And NU_SECU = @VINU_SECU  

     Fetch CU_TDAMAR_NCCL_Q01_1 into @CSNU_AMAR, @CSCO_TIDO_DEST, @CSNU_DOCU_DEST, @CNIM_COBR_DEST
  End

close CU_TDAMAR_NCCL_Q01_1
deallocate CU_TDAMAR_NCCL_Q01_1

--SELECT * From #TWAMAR_NCCL

Select  T1.NU_TRAN, T1.FE_AMAR, T2.DE_MONE, T1.CO_TIDO_ORIG, T1.NU_DOCU_ORIG, T1.IM_COBR_ORIG, T1.CO_TIDO_DEST, 
	T1.NU_DOCU_DEST, T1.IM_COBR_DEST 
From    #TWAMAR_NCCL T1
Left Outer Join TTMONE T2
On   T1.CO_MONE = T2.CO_MONE
Order By NU_TRAN, NU_SECU 
Return

/*------------------------------ FIN ---------------------------------*/


GO
